Ray tracing is a rendering algorithm that provides higher image quality than rasterization. Ray tracing is performed by tracing a path taken by light rays through pixels in an image plane. Based on the geometric objects that the ray intersects, a simulation of the effects of encounter can be generated. Each ray that is cast in a scene is tested for intersection with some subset of the objects in the scene. To determine whether a ray intersects with an object, various hierarchical techniques can be employed. For each geometric primitive in a scene, a set of bounding representations (e.g., bounding box, bounding spheres, etc.) can be organized in a hierarchical manner, such as a tree. When tracing a ray, the tree of bounding representations can be traversed to determine if the ray intersects any of the bounding nodes in the tree. For the set of nodes that are intersected, any primitives within the node can be tested for intersection.